package com.finance.system.request;

import com.finance.framework.lang.valid.EnumValid;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.NotBlank;

/**
 * Created by ljg on 2017/3/24.
 */
@Data
public class OrganizationReq {

    /**
     *机构编码
     * */
    @NotBlank(message = "机构编码不可为空")
    @Length(max=20,message = "机构编码长度小于20")
    private String code;

    /**
     *机构类型 枚举值 0仓库 1站点 2其他
     * */
    @NotBlank(message = "机构类型不可为空")
    @EnumValid(enums = {"0","1","2"},message = "机构类型枚举类型")
    private String orgType;

    /**
     *站点名称
     * */
    @NotBlank(message = "站点名称不可为空")
    @Length(max=20,message = "站点名称长度小于20")
    private String name;

    /**
     *省直辖市编码
     * */
    @Length(max=10,message = "省直辖市编码长度小于10")
    private String provinceCode;

    /**
     *地级市编码
     * */
    @Length(max=10,message = "地级市编码长度小于10")
    private String cityCode;

    /**
     *县级编码
     * */
    @Length(max=10,message = "县级编码长度小于10")
    private String countyCode;

    /**
     *详细地址  含省市县
     * */
    @Length(max=200,message = "详细地址长度小于200")
    private String address;

    /**
     *站长的工号
     * */
    @Length(max=20,message = "站长的工号长度小于20")
    private String leader;

    /**
     *站点联系电话
     * */
    @Length(max=50,message = "站点联系电话长度小于50")
    private String tel;

    /**
     *上级机构的编码  空值或null表示为第一级
     * */
    @Length(max=20,message = "上级机构的编码长度小于20")
    private String parentCode;
    /**
     *结算类型
     * */
    @EnumValid(enums={"0","1","2","3"},message = "结算类型枚举类型")
    @NotBlank(message = "结算类型不能为空")
    private String settlementType;
}
